package com.example.demo.service;

import com.example.demo.dto.ApiResponse;
import com.example.demo.entity.Lab;
import com.example.demo.entity.TimeSlot;
import java.util.List;

public interface LabService {
    ApiResponse<?> createLab(Lab lab);
    ApiResponse<?> updateLab(Long id, Lab lab);
    ApiResponse<?> deleteLab(Long id);
    ApiResponse<?> getLabById(Long id);
    ApiResponse<?> getAllLabs();
    ApiResponse<?> getLabsByCategory(Long categoryId);
    ApiResponse<?> getAvailableLabs(String date, String timeSlot);
    ApiResponse<?> addImage(Long id, String imageUrl);
    ApiResponse<?> removeImage(Long id, String imageUrl);
    ApiResponse<?> addTimeSlot(Long labId, TimeSlot timeSlot);
    ApiResponse<?> removeTimeSlot(Long labId, Long timeSlotId);
    ApiResponse<?> updateTimeSlot(Long labId, Long timeSlotId, TimeSlot timeSlot);
    ApiResponse<?> getTimeSlots(Long labId);
} 